package com.um.jdy.rpc.ev.entity;

import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author 邓南辉
 * 日期 2022/6/30
 * 版权所有 广州优匠科技有限公司
 */
@Data
public class EVRealtimeData implements Serializable {

    /**
     * 交易流水号：16个字节
     */
    private String transactionNo;

    /**
     * 桩编码：7个字节
     */
    private String code;

    /**
     * 枪号：1个字节
     */
    private int gunNo;

    /**
     * 状态：1个字节
     * 0x00：离线 0x01：故障 0x02：空闲 0x03：充电
     * 状态 Available:空闲  Preparing:启动中  Charging:充电中  Faulted:故障 Offline:离线
     */
    private String status;

    /**
     * 枪是否归位：1个字节
     * 0x00 否 0x01 是 0x02 未知
     */
    private String gunReturned;

    /**
     * 是否插枪：1个字节
     * No 否 Yes 是
     */
    private String gunInserted;

    /**
     * 输出电压：2个字节
     */
    private int voltage;

    /**
     * 输出电流：2个字节
     */
    private int electricity;

    /**
     * 枪线温度：1个字节
     */
    private int gunLineTemperature;

    /**
     * 枪线编码：8个字节
     */
    private byte[] gunLineNo;

    /**
     * SOC：1个字节
     */
    private int soc;

    /**
     * 电池组最高温度：1个字节
     */
    private int batteryMaxTemperature;

    /**
     * 累计充电时间：2个字节
     */
    private int totalChargeMinutes;

    /**
     * 剩余时间：2个字节
     */
    private int remainMinutes;

    /**
     * 充电度数：4个字节
     */
    private int chargeCapacity;

    /**
     * 计损充电度数：4个字节
     */
    private int lossPower;

    /**
     * 已充金额：4个字节
     */
    private int chargeAmount;

    /**
     * 硬件故障：2个字节
     */
    private List<String> hardwareError = new ArrayList<>();

}
